System and method for using a scheduler based on virtual frames

ABSTRACT

Disclosed is a method and system based on virtual frames for enabling a QAP to seamlessly operate between granting polls for upstream and sidestream traffic while sending downstream frames. A key feature of the scheduling method of the invention is that the scheduling method generates virtual frames to create transmission opportunity durations for granting polls for the upstream and sidestream traffic.

The present invention relates generally to communication systems, andmore particularly, the present invention has particular application tothe field of wireless communication systems and in this aspect relatesto a scheduler and related method for efficiently granting polls toupstream and/or sidestream traffic and sending downstream frames.

Scheduling is essential in providing quality of service (QoS) in datanetworks where multiple users share common resources. This is especiallytrue in the context of wireless links. That is, the time-varying natureof wireless links presents great challenges in the design of schedulingpolicy in wireless data services because of the scarcity of radioresource and the time-varying nature of radio quality. Currently, mostscheduling policies are dependent on the queue length or arrival rate ortime stamps present in a transmitted medium access control (MAC) frameand do not consider the channel capacity. This would suffice if thechannel capacity to all users were constant as is the case in wirelinesystems. However, in the context of wireless networks, a drawback ofthese schemes is that they always result in an under-utilization of thewireless resources by not accounting for the channel capacity (i.e., thechannel condition and continuously varying transmission rate).

Currently, the 802.11 MAC offers a simplified model, referred to as a“best-effort” model. In the simplified scheme, all frames receive thesame level of service with no distinction for frames from differentapplications. In accordance with the model, an attempt is made toforward frames as soon as possible, but makes no quantitativecommitments about the quality of service (QoS) provisioning. But withthe advent of 802.11e, which is a quality of service MAC, a scheduler isneed that will guarantee the QoS requirements for different streams.

Accordingly, there is a need for a scheduling policy that can beincorporated on top of the IEEE 802.11e/D3.3. draft standard enabling anQoS access point (QAP) to take into account the QoS requirements of thestream and schedule appropriately.

The present invention is directed to a scheduling method based onvirtual frames for use in a wireless local area network (WLAN) thatenables a QAP to seamlessly operate between granting polls for upstreamand sidestream traffic while sending downstream frames. A key feature ofthe scheduling method of the invention is that the scheduling methodgenerates virtual frames to create transmission opportunity durationsfor granting polls for the upstream and sidestream traffic. Byscheduling virtual frames at the QAP for the sidestream/upstreamtraffic, all of the sidestream/upstream traffic is perceived by thescheduler as one large downstream frame to be seamlessly scheduled alongwith the conventional downstream traffic. According to an aspect of theinvention, there is provided a scheduling method based on virtual framesfor use in a WLAN. The method comprising the steps of: (a) determining,at said QAP, whether there is at least one upstream traffic streamintended for transmission from said at least one WSTA to said QAP; (b)determining, at said QAP, whether there is at least one sidestreamtraffic stream intended for transmission from said at least one WSTA toat least one other WSTA; (c) negotiating an intended upstream data rateof transmission, at said QAP, for transmitting said at least oneupstream traffic stream from said at least one WSTA, when saiddetermination step (a) is true; (d) negotiating an intended sidestreamdata rate of transmission, at said QAP, for transmitting said at leastone sidestream traffic stream from said at least one WSTA to said atleast one other WSTA, when said determination step (b) is true; (e)computing polling and transmission times, at said QAP, for polling saidat least one WSTA in accordance with said negotiated upstream andsidestream intended data rates of transmission; (f) generating upstreamvirtual frames including said computed upstream polling and transmissiontimes and airtimes allocated to the said WSTA, at said QAP, to transmitsaid at least one upstream traffic stream at said computed pollingtimes; (g) generating sidestream virtual frames including said computedsidestream polling and transmission times and airtimes allocated to saidWSTA, at said QAP, to transmit said at least one sidestream trafficstream at said computed polling times; and (h) scheduling thetransmission of said upstream and sidestream virtual frames at saidcomputed polling and transmission times.

In the preferred embodiment, the above method is carried out by an QAPcomprising a virtual frame generator for determining the time instantswhen the QAP is required to poll the WSTAs to transmit said upstreamand/or sidestream traffic; and a scheduler unit for computing pollingand transmission times to poll said at least one WSTA.

A more complete understanding of the method and apparatus of the presentinvention may be had by reference to the following detailed descriptionwhen taken in conjunction with the accompanying drawings wherein:

FIG. 1 illustrates the architecture of a wireless communication systemwhereto embodiments of the present invention are to be applied;

FIG. 2 illustrates a queue level description of the network of FIG. 1according to an embodiment of the invention;

FIG. 3 is a block diagram of a QAP according to an embodiment of theinvention; and

FIG. 4 illustrates a timing diagram to explain the polling procedureaccording to an embodiment of the invention.

In the following description, for purposes of explanation rather thanlimitation, specific details are set forth such as the particulararchitecture, interfaces, techniques, etc., in order to provide athorough understanding of the present invention. For purposes ofsimplicity and clarity, detailed descriptions of well-known devices,circuits, and methods are omitted so as not to obscure the descriptionof the present invention with unnecessary detail.

The inventive method is a scheduling algorithm that utilizes virtualframes for upstream and sidestream scheduling in wireless local areanetworks (WLANs). The method is intended for implementation by an accesspoint (QAP) in a QBSS network. To the best of the applicant's knowledge,the concept of virtual frames was first introduced in Sunghyun Choi andKang G. Shin,” A Unified Architecture of Wireless Networks for Real-Timeand Non-Real time Communication Services,” IEEE/ACM Trans. OnNetworking, vol. 8, no. 1, pp. 44-59, February, 2000, incorporated byreference herein in its entirety. However, it is believed that the useof virtual frames in the context of wireless LANS has heretofore notbeen considered. It is to this end that the present application isdirected. That is, the method of the present invention introduces theuse of virtual frames in the context of wireless LANS, in a manner thatenables an QAP to seamlessly operate between granting polls toassociated stations (WSTAs) for upstream and/or sidestream traffic andthe sending of downstream frames to the WSTAs, as will be described ingreater detail below.

FIG. 1 is an illustration of a representative network 100 wheretoembodiments of the present invention may be applied. As shown, FIG. 1illustrates a QBSS network 100 including an QAP 103 coupled to astationary network 111 and a plurality of stations (WSTA₁ through WSTA₃)110, 112, 114. A primary function of the QAP 103 is to facilitate thetransmission of data packets. Data packets include “upstream” packets(i.e., packets transmitted in a direction from the WSTAs 110-114 to theQAP 103), labeled as “U”, “downstream” packets (i.e., packetstransmitted in a direction from the QAP 103 to the WSTAs 110-114),labeled as “D”, and “sidestream” packets (i.e., packets transmitted fromone WSTA 110-114 to another WSTA), labeled as “S”. It should be notedthat the network shown in FIG. 1 is small for purposes of illustration.In practice, most networks would include a much larger number of mobileWSTAs.

FIG. 2 is a block diagram of one embodiment of a queue levelrepresentation of the QAP 103 and WSTAs₁₋₃ 110-114 of the network 100 ofFIG. 1. As shown, the QAP 103 maintains 9 queues, 8 of which areconventional, Q1-Q8, and a ninth queue, which is the key feature of theinvention, referred to hereafter as a virtual queue VQ. Queues 1 through8 contain real data (i.e., data packets or frames which are transmittedas part of an MPDU). By contrast, the virtual queue VQ contains onlyvirtual frames, as will be described.

Referring now to FIG. 3, a block diagram of the functional elements ofthe QAP of FIG. 2 are shown. The QAP includes a scheduler 105 which canbe broken down into two main functions, traffic stream negotiation 310and service allocation 320. Traffic stream negotiation 310 furthercomprises a permission 330 sub-function. The AP further includes avirtual frame generator module 340 for determining the time instantswhen the AP is required to poll the WSTAs for upstream and/or sidestreamtraffic. The QAP further includes an admissions control unit 350 forcomputing in advance, via a scheduling algorithm, polling times to polleach WSTA 110-114 desiring to transmit traffic upstream so as to satisfythe WSTA's 110-114 pre-negotiated data rates.

The present invention is directed exclusively to the scheduling ofparameterized QoS traffic. As defined by the IEEE 802.11 standard,parameterized traffic is identified by priority values in the range 8 to15 which are included as part of a 16 bit QoS control field in the MACheader of each frame. The priority values 8-15 are interpreted astraffic stream identifiers (TSID). Parameterized traffic could include,for example, video telephone, low cost video conferencing, imaging, HighDefinition Television (HDTV), streaming audio and/or video and so on.Each of the afore-mentioned applications may place different demands onthe wireless communications network 100 depending upon their respectivebandwidth requirements. That is, some applications described above aremore bit intensive than others (e.g., an HDTV video stream at 24 Mbps).In general, most real time applications qualify as being bit intensiveand as such place high demands on the transmission network 100. Otherapplications, such as stereophonic audio which is typically transmittedat 128 Kbps is comparably less bit intensive and consequently lessdemanding on the network 100 resources. Therefore, a mechanism is neededto efficiently schedule these disparate network demands for processingby the network 100.

To perform scheduling in an efficient manner at the QAP 103, thescheduler 105 must control two processes: (1) determine the existence ofany upstream streams that the WSTAs 110-114 intend to transmit to theQAP 103 (2) determine if there is data required to be sent downstreamfrom the stationary network 111, via the QAP 103, to the WSTAs 110-114.The first process is achieved in a polling operation performed by thescheduler 105 at the QAP 103. In the polling operation, the scheduler105 determines which WSTAs have traffic streams to be transmittedupstream to the QAP 103. Once it is determined by the scheduler 105 thatone or more WSTAs 110-114 have traffic streams to be transmittedupstream to the QAP 103, a negotiation session is conducted between theQAP 103 and the one or more WSTAs 110-114 intending to transmit dataupstream. The negotiation session is conducted by the traffic streamnegotiation unit 310 of the QAP 103

As part of the negotiation session, a permission protocol is invoked bythe QAP 103 to grant permission to the requesting WSTA. A permissionunit 330 is shown in FIG. 3 as a sub-process of the negotiation unit310. Once permission is granted to an WSTA, the negotiation process thenproceeds by the requesting WSTA, which has been granted permission,informing the QAP 103 of certain parameters related to the trafficstream to be transmitted, including the data rate and other trafficcharacteristics. Upon receiving these parameters at the QAP 103, anadmissions control unit 350 associated with the QAP 103 (See FIG. 3)collects the parameter data for each traffic stream (i.e., requestingWSTA) compute in advance a time instance for polling the various WSTAsrequesting to transmit data upstream to the WSTA, in a manner thatsatisfies a pre-negotiated data rate. Once the polling times arecalculated by the QAP 103, virtual frames are then generated to poll theWSTA's at the computed time instances. It is noted that the virtualframes are actually polling frames for polling the various WSTAs at theappropriate times.

The following exemplary embodiment is provided to further clarify themethod of the invention. Assume, for the purpose of explanation, thatthere are some numbers of WSTAs 110-114 in the network 100 of FIG. 1that desire to transmit traffic upstream to the QAP 103. For example,assume WSTA₁ 110 needs to send HDTV video at 24 Mbps upstream to the QAP103 and that WSTA₃ 114 needs to send stereophonic audio data at 128 kbpsupstream to the QAP 103. As described above, it is the responsibility ofthe QAP 103 to determine the existence of these intended data streamsfor upstream transmission. In particular, the admission control unit(ACU) 350 of the QAP 103 determines whether there are any streams fromWSTAs 110-114 intended for upstream transmission. Once the QAP 103 ismade aware of these traffic streams, the scheduler 300 then negotiateswith each WSTA 110-114 having a data stream to transmit upstream, toascertain the WSTA's intended data rates of transmission (e.g., 24 Mbpsfor WSTA 110, 128 kbps for WSTA 114) as well as other transmissionparameters of interest. Once the data rates are determined by the QAP103, the ACU 350 computes in advance, via a scheduling algorithm,polling times to poll each WSTA 110-114 such that the WSTAs respectivepre-negotiated data rates may be satisfied. It is noted that the detailsof the scheduling algorithm for negotiating the respective data ratesare not central to the instant application and as such will not bediscussed further.

Polling frames are then generated by the scheduler 105 based on thecomputed polling times of the upstream or sidestream sessions. Thevirtual frame generator in the QAP 103 uses this schedulable informationand inserts into the virtual frame queue (VQ) the virtual frames with atime instance when they need to be exactly transmitted onto the channel.For the scheduler this basically takes into account all of the upstreamand sidestream sessions.

The scheduler now uses this virtual frame queue (VQ) and theconventional downstream frame queues Q1-Q8 to schedule downstreamsessions or upstream and/or sidestream sessions accordingly. It is notedthat there is a QoS guarantee on satisfying the intended data rates,however, the method of the invention is more sophisticated than a ‘bestefforts’ attempt of the prior art.

Referring now to FIG. 4, a timing diagram illustrating the polling timescomputed at the QAP 103 for the exemplary embodiment in which it isassumed that two WSTAs 110, 114 intend to transmit data upstream to theQAP 103 at data rates of 24 Mbps and 128 Kbps, respectively. First, withregard to WSTA₃ 114, assuming a packet size of 128 bits, to satisfy adata rate of 128 kbps, WSTA₃ 114 must send a packet every 1 ms.Similarly, assuming a packet size of 2400 bits, to satisfy a data rateof 24 Mbps, WSTA₁ 110 must send a packet every 100 μs. Therefore, theACU 350 must poll WSTA₁ ten times (10×) as often as WSTA₃ 114.

FIG. 4 illustrates that the ACU 350 of the QAP 103 polls WSTA₃ ten timesas often as WSTA₁ 110. It should be noted that the time intervals T1-T10are not equidistant time intervals but are instead calculated inaccordance with the scheduling algorithm so as to satisfy the intendeddata rates. As shown, at each polling instance along the time line(e.g., T1 through T10), WSTA₃ 114 is polled for a time duration denotedas “x” and WSTA₁ 110 is polled for a time duration denoted as “y”. Timedurations, “x” and “y” are not fixed, but are instead dependent on theparticular scheduling algorithm used. However, it is not the focus ofthe present invention to determine time durations x and y. Instead, thepresent invention is directed to the generation of the virtual framesthat have time durations, x, y, associated therewith. It is also notedthat these time durations may be extended as necessary if there areadditional packets to be transmitted upstream at a particular pollinginterval.

Thus far, a process for sending upstream and/or sidestream traffic hasbeen discussed. However, the present invention is equally directed to aconcurrent process. That being the transmission of frames downstreamfrom the stationary network 111, via the QAP 103, to the one or moreWSTAs 110-114. In accordance with this process, the WSTAs 110-114 makevarious data requests from the stationary network 111 for data whichcould include, for example, any of the parameterized data categoriesdiscussed above (e.g., video telephone, low cost video conferencing,imaging, High Definition Television (HDTV), streaming audio and/or videoand so on). To satisfy these data requests at the required data rates,the QAP 103 must perform the steps discussed above which generallyinclude performing a scheduling computation to determine polling timesand generate virtual frames therefrom. The steps required to sendtraffic downstream are identical to those previously described forsending traffic upstream with the only notable distinction being thedirection of the intended traffic.

An advantage of the invention is that the QAP 103 is able to seamlesslygrant polls (i.e., virtual frames) for the upstream and/or sidestreamtraffic and simultaneously send downstream traffic to the WSTAs.

The foregoing is to be constructed as only being an illustrativeembodiment of this invention. Persons skilled in the art can easilyconceive of alternative arrangements providing a functionality similarto this embodiment without any deviation from the fundamental principlesor the scope of this invention.

1. In a wireless communications network having at least one access point(QAP) and at least one station (WSTA), a method for seamlessly grantingpolls for upstream and/or sidestream traffic while simultaneouslysending downstream traffic from said QAP to said at least one WSTA, themethod comprising the steps of: (a) determining, at said QAP, whetherthere is at least one upstream traffic stream intended for transmissionfrom said at least one WSTA to said QAP; (b) determining, at said QAP,whether there is at least one sidestream traffic stream intended fortransmission from said at least one WSTA to at least one other WSTA; (c)negotiating an intended upstream data rate of transmission, at said QAP,for transmitting said at least one upstream traffic stream from said atleast one WSTA, when said determination step (a) is true; (d)negotiating an intended sidestream data rate of transmission, at saidQAP, for transmitting said at least one sidestream traffic stream fromsaid at least one WSTA to said at least one other WSTA, when saiddetermination step (b) is true; (e) computing polling and transmissiontimes, at said QAP, for polling said at least one WSTA in accordancewith said negotiated upstream and sidestream intended data rates oftransmission; (f) generating upstream virtual frames including saidcomputed upstream polling and transmission times and airtimes allocatedto the said WSTA, at said QAP, to transmit said at least one upstreamtraffic stream at said computed polling times; (g) generating sidestreamvirtual frames including said computed sidestream polling andtransmission times and airtimes allocated to said WSTA, at said QAP, totransmit said at least one sidestream traffic stream at said computedpolling times; and (h) scheduling the transmission of said upstream andsidestream virtual frames at said computed polling and transmissiontimes.
 2. The method of claim 1, further comprising the steps of:determining, at said at least one QAP, whether there is at least onedownstream traffic stream intended for transmission from said at leastone QAP to said at least one WSTA; and if so, scheduling, at the QAP,the transmission of said at least one downstream traffic streamsimultaneous with said steps (a) through (h) of claim
 1. 3. The methodof claim 1, wherein said negotiating step (c) further comprises the stepof granting permission from said QAP to said at least one WSTA totransmit at least one upstream traffic stream at said negotiatedupstream intended data rate.
 4. The method of claim 1, wherein saidnegotiating step (d) further comprises the step of granting permissionfrom said QAP to said at least one WSTA to transmit at least onesidestream traffic stream at said negotiated sidestream intended datarate.
 5. The method of claim 2, wherein said upstream and sidestreamtraffic streams are parameterized traffic streams.
 6. The method ofclaim 2, wherein said downstream traffic stream is a parameterizedtraffic stream.
 7. The method of claim 1, wherein said polling framesare virtual frames.
 8. A system for seamlessly granting polls forupstream and/or sidestream traffic while simultaneously sendingdownstream traffic from said (AP) to said at least one WSTA, the systemcomprising: means for determining, at said QAP, whether there is atleast one upstream traffic stream intended for transmission from said atleast one WSTA to said QAP; means for determining, at said QAP, whetherthere is at least one sidestream traffic stream intended fortransmission from said at least one WSTA to at least one other WSTA;means for negotiating an intended upstream data rate of transmission, atsaid QAP, for transmitting said at least one upstream traffic stream tosaid at least one WSTA, when said determination step (a) is true; meansfor negotiating an intended sidestream data rate of transmission, atsaid at least one QAP, for transmitting said at least one sidestreamtraffic stream from said at least one WSTA to said at least one otherWSTA, when said determination step (b) is true; means for computingpolling and transmission times, at said QAP, for polling said at leastone WSTA in accordance with said negotiated upstream and sidestreamintended data rates of transmission; means for generating upstreamvirtual frames including said computed upstream polling and transmissiontimes, at said QAP, to transmit said at least one upstream trafficstream at said computed polling times; means for generating sidestreamvirtual frames including said computed sidestream polling andtransmission times, at said QAP, to transmit said at least onesidestream traffic stream at said computed polling times; and means forscheduling the transmission of said upstream and sidestream virtualframes at said computed polling and transmission times.
 9. The system ofclaim 8, further comprising: means for determining, at said QAP, whetherthere is at least one downstream traffic stream for transmission to saidat least one WSTA; and a means for scheduling, at said QAP, thetransmission of said at least one downstream traffic stream.
 10. Asystem for seamlessly granting polls by an access point (QAP) forupstream and/or sidestream traffic from at least one station (WSTA)while simultaneously sending downstream traffic from said QAP to said atleast one WSTA, the system comprising: said QAP comprising: a virtualframe generator for determining the time instants when the QAP isrequired to poll the at least one WSTA to transmit said upstream and/orsidestream traffic; and a scheduler unit for computing polling andtransmission times to poll said at least one WSTA.
 11. A system forseamlessly granting polls by an access point (QAP) for upstream and/orsidestream traffic from at least one station (WSTA) while simultaneouslysending downstream traffic from said (QAP) to said at least one WSTA,the system comprising: a memory for storing a computer-readable code;and, a processor operatively coupled to said memory, said processorconfigured to: (1) determine, at said QAP, whether there is at least oneupstream and/or sidestream traffic stream intended for transmission fromsaid at least one WSTA to said QAP in a QBSS; (2) negotiate an intendeddata rate of transmission for said at least one upstream and/orsidestream traffic stream; (3) compute polling times for polling said atleast one WSTA desiring to transmit said at least one upstream and/orsidestream traffic stream; (4) generate virtual frames corresponding tosaid computed polling times; and (5) schedule the transmission of saidvirtual frames at said computed polling times.
 12. The system of claim11, wherein said processor is further configured to: determine, at saidQAP, whether there is at least one downstream traffic stream fortransmission to said at least one WSTA; and schedule, at the QAP, thetransmission of said at least one downstream traffic stream.